package com.bobo.swing;

import java.awt.Container;
import java.net.URL;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;

/**
 * 窗口化程序（Swing实现图片移动）
 * @author win7
 *
 */
public class SwingAndThread extends JFrame{

	private JLabel jl=new JLabel();//声明Jlabel对象
	private static Thread t; //声明线程对象
	private int count=0; //声明计数变量
	private Container container=getContentPane();//声明容器
	
	 
	public SwingAndThread(){
		setBounds(300, 200, 250, 100);//绝对定义窗体大小与位置
		container.setLayout(null);//使窗体不适用任何布局管理器
		URL url=SwingAndThread.class.getResource("/com/bobo/swing/3.gif");//获取图片的url
		Icon icon=new ImageIcon(url);//实例化一个图片
		jl.setIcon(icon); //将图片放置在标签中
		
		jl.setHorizontalAlignment(SwingConstants.LEFT);//设置图片在标签的最左方
		jl.setBounds(10, 10, 200, 50); //设置标签的位置与大小
		jl.setOpaque(true);
		
		t=new Thread(new Runnable() { //定义匿名内部类，该类实现Runnable接口
			public void run() {
				while(count<=200){ //设置循环条件
					jl.setBounds(count, 10, 200, 50); //改变标签的位置
					try {
						Thread.sleep(1000); //使线程休眠1000毫秒
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				  count+=5; //使横坐标每次增加5
				  if(count==200){
					  count=10;
				  }
				}
			}
		});
	  t.start(); //启动线程
	  container.add(jl);//将便签加入到容器中
	  setVisible(true);//使窗体可见
	  setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);//设置窗体的关闭方式
		
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new SwingAndThread();
	}

}
